package com.hfi.restful.exception;

import java.util.EnumSet;
import java.util.HashMap;
import java.util.Map;

/**
 * 错误码枚举
 * @author ChangLiang
 * @date 2019/7/31
 */
public enum ErrorCode {

    /**
     * 获取成功
     */
    OK("200", "成功"),
    /**
     * 校验失败
     */
    BAD_REQUEST("400","校验失败"),
    PARAM_VALIDATION_FAIL("400", "请求参数校验失败"),
    UNAUTHORIZED("401", "登录认证失败"),
    FORBIDDEN("403", "访问令牌校验失败"),
    NETERROR("2000", "网络错误"),
    /**
     * 获取失败
     */
    ERROR("500", "服务器错误");

    /**
     * 错误码
     */
    public final String value;

    /**
     * 含义
     */
    public final String memo;

    ErrorCode(String value, String memo) {
        this.value = value;
        this.memo = memo;
    }
    private static final Map<String, ErrorCode> lookup = new HashMap<String, ErrorCode>();

    static {
        for (ErrorCode s : EnumSet.allOf(ErrorCode.class)) {
            lookup.put(s.value, s);
        }
    }

    public static ErrorCode get(String value) {
        return lookup.get(value);
    }
}
